Disulphide bond connectivity in protein

ABSTRACT

A method, computer system, and computer program product for determining N disulphide bond connections in a protein having 2N bonded sulphur atoms. Each sulphur atom is available for forming the N disulphide bond connections through use of an undirected graph having the 2N sulphur atoms as nodes and having an edge connecting each pair of nodes. Each sulphur atom is comprised by a cysteine of the protein. The cysteines are sequenced along a chain in the protein as ordered list of position indexes. A weight W of each edge between cysteine position indexes I 1  and I 2  is calculated as decreasing with increasing separation d between I 1  and I 2 , wherein d is |I 1 −I 2 |/100. The N disulphide bond connections are determined by optimizing an objective function formed from the calculated weights W.

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates to a method, computer system, and computer program product for determining disulphide bond connectivity in protein.

2. Related Art

Fariselli and Casadio approached problem of predicting disulphide connectivity by equating the problem to a maximum graph matching problem and assigning edge weights based on the residues in the nearest neighborhood of the cysteines. Weights derived by monte carlo simulated annealing in combination with Edmond-Gabow maximum weighted graph matching algorithm was found to be giving best prediction accuracies for Fariselli and Casadio. See Piero Fariselli and Rita Casadio, “Prediction of disulphide connectivity to proteins”, BioInformatics, Vol 17 No. 10 (2001).

In addition, neural network methods have been used to determine the disulphide bond connectivity of protein. However, a neural network method has the disadvantage of requiring time and effort to train data, and the accuracy the determination of disulphide connectivity of proteins depends on the amount and quality of the data that is trained. Thus, there is a need for a method for determining disulphide bond connectivity in protein that is capable of achieving high accuracy without a need to train data.

SUMMARY OF THE INVENTION

The present invention provides a method for determining N disulphide bond connections in a protein comprising 2N bonded sulphur atoms, each sulphur atom of the N sulphur atoms being available for forming the N disulphide bond connections through use of an undirected graph having the 2N sulphur atoms as nodes and having an edge connecting each pair of nodes of the N nodes, each edge being a potential disulphide bond connection of the N disulphide bond connections to be determined, each sulphur atom of the 2N sulphur atoms being independently comprised by a cysteine of the protein, said cysteines being sequenced along a chain in the protein in accordance with an ordered list of position indexes 0, 1, 2, . . . , said N at least 2, said method comprising:

for each edge between a first sulphur atom S₁ of a cysteine positioned at a position index I₁ of the chain and a second sulphur atom S₂ of a cysteine positioned at a position index I₂ of the chain: calculating a weight W of each edge in proportion to W_(d), said W_(d) decreasing with increasing separation d between I₁ and I₂, said d being defined as |I₁−I₂/100; and

determining the N disulphide bond connections subject to optimizing an objective function formed from the calculated edge weights W.

The present invention provides a computer system comprising a processor and a computer readable memory unit coupled to the processor, said memory unit containing instructions that when executed by the processor implement a method for determining N disulphide bond connections in a protein comprising 2N bonded sulphur atoms, each sulphur atom of the N sulphur atoms being available for forming the N disulphide bond connections through use of an undirected graph having the 2N sulphur atoms as nodes and having an edge connecting each pair of nodes of the N nodes, each edge being a potential disulphide bond connection of the N disulphide bond connections to be determined, each sulphur atom of the 2N sulphur atoms being independently comprised by a cysteine of the protein, said cysteines being sequenced along a chain in the protein in accordance with an ordered list of position indexes 0, 1, 2, . . . , said N at least 2, said method comprising:

for each edge between a first sulphur atom S₁ of a cysteine positioned at a position index I₁ of the chain and a second sulphur atom S₂ of a cysteine positioned at a position index I₂ of the chain: calculating a weight W of each edge in proportion to W_(d), said W_(d) decreasing with increasing separation d between I₁ and I₂, said d being defined as |I₁−I₂/100; and

determining the N disulphide bond connections subject to optimizing an objective function formed from the calculated edge weights W.

The present invention provides a computer program product, comprising a computer usable medium having a computer readable program code embodied therein, said computer readable program code comprising an algorithm adapted to implement a method for determining N disulphide bond connections in a protein comprising 2N bonded sulphur atoms, each sulphur atom of the N sulphur atoms being available for forming the N disulphide bond connections through use of an undirected graph having the 2N sulphur atoms as nodes and having an edge connecting each pair of nodes of the N nodes, each edge being a potential disulphide bond connection of the N disulphide bond connections to be determined, each sulphur atom of the 2N sulphur atoms being independently comprised by a cysteine of the protein, said cysteines being sequenced along a chain in the protein in accordance with an ordered list of position indexes 0, 1, 2, . . . , said N at least 2, said method comprising:

for each edge between a first sulphur atom S₁ of a cysteine positioned at a position index I₁ of the chain and a second sulphur atom S₂ of a cysteine positioned at a position index I₂ of the chain: calculating a weight W of each edge in proportion to W_(d), said W_(d) decreasing with increasing separation d between I₁ and I₂, said d being defined as |I₁−I₂/100; and

determining the N disulphide bond connections subject to optimizing an objective function formed from the calculated edge weights W.

The present invention provides a process for integrating computing infrastructure, said process comprising integrating computer-readable code into a computing system, wherein the code in combination with the computing system is capable of performing a method for determining N disulphide bond connections in a protein comprising 2N bonded sulphur atoms, each sulphur atom of the N sulphur atoms being available for forming the N disulphide bond connections through use of an undirected graph having the 2N sulphur atoms as nodes and having an edge connecting each pair of nodes of the N nodes, each edge being a potential disulphide bond connection of the N disulphide bond connections to be determined, each sulphur atom of the 2N sulphur atoms being independently comprised by a cysteine of the protein, said cysteines being sequenced along a chain in the protein in accordance with an ordered list of position indexes 0, 1, 2, . . . , said N at least 2, said method comprising:

for each edge between a first sulphur atom S₁ of a cysteine positioned at a position index I₁ of the chain and a second sulphur atom S₂ of a cysteine positioned at a position index I₂ of the chain: calculating a weight W of each edge in proportion to W_(d), said W_(d) decreasing with increasing separation d between I₁ and I₂, said d being defined as |I₁−I₂|/100; and

determining the N disulphide bond connections subject to optimizing an objective function formed from the calculated edge weights W.

The present invention advantageously provides a need for a method for determining disulphide bond connectivity in protein that is capable of achieving high accuracy without a need to train data.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a disulphide bond in a reaction product formed from oxidation of a first cysteine and a second cysteine, in accordance with the related art.

FIG. 2 illustrates a protein model, in accordance with embodiments of the present invention.

FIG. 3 depicts Monte Carlo calculated contact potentials, in accordance with the related art.

FIG. 4 provides an illustrative example for a sequence of amino acid residues, in accordance with embodiments of the present invention.

FIG. 5 is a high-level flow chart for determining the disulphide connectivity of proteins, in accordance with embodiments of the present invention.

FIG. 6 depicts a process of modeling the proteins as a graph for an example in which an optimum connectivity is determined, in accordance with embodiments of the present invention.

FIGS. 7A and 7B are collectively a detailed flow chart for determining and evaluating the disulphide connectivity of proteins, in accordance with embodiments of the present invention FIG. 8 illustrates a computer system used for determining disulphide bond connectivity in protein, in accordance with embodiments of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Proteins, the building blocks of life, comprise chains of amino acids. There are 20 different types of amino acids comprised by proteins. A protein may have a single chain of amino acids or may have multiple amino acid chains linked together.

Protein structure may be viewed in four levels, namely, primary, secondary, tertiary and quaternary levels. The primary structure of a protein pertains to the type and sequence of amino acids linked together in chains. The secondary structure of a protein pertains to a local conformation of a segment of a chain and may represent strands formed by the local bending of amino acids (e.g., alpha (α) helix, beta (β) sheet, random coil). The tertiary structure of a protein pertains to a three dimensional structure of a chain in which the secondary structures become tangled in different shapes (e.g. fibrous, globular). The quaternary structure refers to the manner in which different chains in the protein are bonded together.

The present invention relates to determining the tertiary structure of proteins, which is important in medical science. Given the primary structure, an accurate determination of tertiary structure can avoid the cost of an experimental determination of the tertiary structure, and may also facilitate the detection of tertiary structures of many proteins for which empirical detection is difficult or not possible.

A disulphide bond in a protein is a sulphur-sulphur (S-S) bond formed between two sulfur atoms in a protein. FIG. 1 depicts a disulphide bond 10 in a reaction product formed from oxidation of a first cysteine and a second cysteine. In FIG. 1, the phrase “H₂ (OXIDATION)” denotes that the chemical reaction results in removal of hydrogen (H₂). Unless otherwise stated, the term “bond” means “disulphide bond” herein, and a bond between two cysteines means a bond between sulphur atoms of the respective two cysteines.

Cysteine is the only residue forming disulphide bonds. The major type of forces contributing to the protein folding comprise disulphide bonds and hydrogen bonds. In a protein, there are much fewer disulphide bonds than hydrogen bonds, but the disulphide bonds are much stronger than the hydrogen bonds. Therefore, it is simpler to determine disulphide bonds than to determine hydrogen bonds. Also, the disulphide bonds can act as a test area for hypothesis regarding protein folding. Formation of the disulphide bonds adds to the stability of the protein conformations. Accurate determination of disulphide bonds will help tertiary structure determination of proteins considerably, by reducing the conformational search space for the three dimensional tertiary structure.

Determination of disulphide bonds involves two sub-problems. The first sub-problem is to determine the bonding state of cysteines (i.e., which cysteines in a protein are bonded and which cysteines are unbonded). The second sub-problem is the determination of the connectivity of cysteines (i.e., determination of which sulphur atoms in a protein are bonded together in the disulphide bonds). There are good solutions available for first sub-problem. Also in a protein chain bonded and un-bonded cysteines rarely co-exist. The present invention focuses on the second sub-problem, namely determining the disulphide bond connectivity.

Given primary structure (i.e., the amino acid sequence) and secondary structure information of a protein chain having 2N bonded cysteines and N associated disulphide bonds to be determined, the present invention determines the bonding pattern of the N disulphide bonds in the protein. In other words, given all disulphide bonds that are logically possible, the present invention determines which of these logically possible disulphide bonds are actually formed in the protein.

The difficulty for determining disulphide bond connectivity in a protein increases with increasing number of disulphide bonds in the protein. Therefore, the accuracy of the determination should be evaluated against the number of cysteines in the proteins chain. For example for a protein with only two cysteines and one disulphide bridge, the accuracy for determination will be always 100%, since there is only one disulphide bonding possible. For a chain with four cysteines, however, the accuracy of a random predictor is 50%. Thus, as the number of disulphide bonds increases, the probability of a correct determination by the random predictor also decreases.

Accuracy results for the methodology of the present invention are presented infra in Table 2 using a data set comprising proteins having 2 to 6 disulphide bonds. The Swiss-Prot database was searched, using the “Swiss-Prot Protein knowledgebase” website, for all the proteins having the disulphide bonds (i.e., proteins using the string DISULFID) and the resultant proteins were downloaded. Then proteins with more than one chain and with un-bonded cysteines were removed from the downloaded proteins. In addition, proteins with disulphide bonds of type “POTENTIAL,PROBABLE,BY SIMILARITY and REDOX ACTIVE” and ambiguous residue names (e.g., “X”) were next removed from the downloaded proteins.

The present invention does not require that all cysteines in the protein be bonded, but rather performs the connectivity calculations for only those cysteines in the protein which are assumed to be bonded.

The present invention models the cysteines in the protein as a single chain. Therefore, multiple chains are represented as a single chain.

The present invention utilizes the primary structure (i.e., the amino acid sequence) and secondary structure information of a protein chain as input.

Two measures of accuracy of the connectivity determination are used herein. The first measure is the fraction of bonds determined correctly (Qc). The second measure of accuracy is the fraction of proteins for which all the bonds are determined correctly (Qp). More specifically:

Qc=number of bonds determined correctly/total number of possible bonds;

Qp=number of proteins having all bonds determined correctly/total number of proteins. For a random predictor the measures for accuracy are: $\begin{matrix} {{{Q_{c}\quad{for}{\quad\quad}{Random}{\quad\quad}{Predictor}\text{:}\quad{Q_{c}\left( R_{p} \right)}} = \frac{1}{{2B} - 1}}{{Q_{p}\quad{for}\quad{Random}\quad{Predictor}\text{:}\quad{Q_{p}\left( R_{p} \right)}} = \frac{1}{\left( {{2B} - 1} \right)!!}}} & (1) \\ {\quad{= \frac{1}{\prod\limits_{i \leq B}\quad\left( {{2i} - 1} \right)}}} & (2) \end{matrix}$ where B is the number of disulphide bonds in the protein. See Piero Fariselli and Rita Casadio, “Prediction of disulphide connectivity to proteins”, BioInformatics, Vol 17 No. 10 (2001).

The disulphide connectivity pattern may be viewed as a undirected graph, with nodes as cysteines and edges as bonding between the cysteines. The weights for the graph edges are assigned by methods described infra. An objective function formed from the assigned weights is then used find out an optimal connectivity (i.e., an optimal set of bonded sulphur pairs (i.e., disulphides)). For example, the objective function may be the sum of the edge weights of the N disulphide bonds, and the Edmond-Gabow (EG) N-cubed maximum weighted matching algorithm for undirected graphs may be used to find the optimal connectivity. The EG algorithm determines the set of bonded sulphur pairs (i.e., disulphides) for which the objective function (i.e., the sum of the weights of the N disulphide bonds) is a maximum.

Bonding between cysteines means bonding between sulphur atoms of the respective cysteines. Thus, the nodes are at the sulphur atoms in the respective cysteines, and the edges represent bonds connecting the sulphur atoms in the respective cysteines.

For example, consider a protein with 6 bonded cysteines denoted as C1, C2, . . . , C6. Next, weights are assigned to the edges between the sulphur atoms of the cysteines pairs as shown in the symmetric matrix of Table 1. TABLE 1 C1 C2 C3 C4 C5 C6 C1 — 2 6 5 7 4 C2 2 — 6 7 1 −1 C3 6 6 — 6 8 3 C4 5 7 6 — 6 8 C5 7 1 8 6 — 1 C6 4 −1 3 8 1 —

Although the edge weights in Table 1 are shown as integers, generally the edge weights are real numbers which may comprise integers.

Once the weights for the graph edges are assigned, the problem is to determine 3 pairs of cysteines in Table 1 which maximize the sum of the weights, which is an optimization problem. For performing said maximizing of the weights, the Edmond-Gabow (EG) maximum weighted graph matching algorithm may be used, as described in: Gabow, H. N., “An Efficient Implementation of Edmonds' Algorithm for Maximum Matching on Graphs”, Jounal of the Association for Computing Machinery, vol. 23, no. 2, pages 221-234 (April 1976). The output of the EG algorithm is the determined connectivity. This output is compared against the actual connectivity described in the Swiss-Prot protein annotations to calculate the accuracy. The present invention discloses a novel and accurate method of computing the edge weights.

FIG. 2 illustrates a protein model, in accordance with embodiments of the present invention. In FIG. 2, I₁ and I₂ are cysteine position indexes at which the secondary structure unit is starting and ending, respectively. S₁ and S₂ denote the respective sulphur atoms of the cysteines at the position indexes I₁ and I₂. The thick lines 11, 13, and 15 represent rigid protein segments (e.g., alpha helixes and beta sheets) having lengths L₁, L₃, and L₅, respectively, between I₁ and I₂. The thin lines 12, 14, and 16 represent flexible protein segments (e.g., other secondary structures) having lengths L₂, L₄, and L₆, respectively, between I₁ and I₂. If I₁ or I₂ is positioned within a particular segment instead of at the end of the particular segment, then the length of said particular segment between I₁ and I₂ is the length of the portion of the particular segment between I₁ and I₂ instead of the whole length of the particular segment. In FIG. 2, the longest segment between I₁ and I₂(generally denoted as L_(max)) is segment 13 having length L₃.

The weights assigned to the graph edges are calculated from a combination of weights derived from one or more of the following four weight sources (A, B, C, D).

A. Monte Carlo derived contact potential (W_(mc))

B. Weights decreasing with increasing separation between cysteines in the chain (W_(d))

C. Penalty for bonds between cysteines which are nearer than one to four residues in the chain (Proximity Penalty).

D. Penalty for bonds which cannot be formed without bending of Secondary Structure (Bending Penalty)

A. Monte Carlo Derived Contact Potential

The Monte Carlo derived contact potential (W_(mc)) that Fairselli and Casadio found to be best performing is based on the Edmonds-Gabow algorithm and Monte Carlo simulated annealing. See Piero Fariselli and Rita Casadio, “Prediction of disulphide Connectivity to proteins”, BioInformatics, Vol 17 No. 10, Oxford University Press (2001). To illustrate, assume that the cysteine along with the four residues, two in each side of the chain, are in contact. For example if a first sulphur S₁ of a first cysteine at position I₁=5 in the chain and a second sulphur S₂ of a second cysteine at position I₂=21 in the chain are forming a disulphide bond, it is assumed that all the residues at positions 3, 4, 5, 6, and 7 are in contact with all the residues at 19, 20, 21, 22, and 23. Then the individual contact potentials are summed for all these cysteines to compute W_(mc) as shown in Equation (3):

W _(mc)=Σ_(i)Σ_(j) W(Ri, Rj)  (3)

wherein W(Ri, Rj) is the Monte Carlo calculated contact potential between cysteines Ri and Rj. W(Ri, Rj) may be obtained by any method known to a person of ordinary skill in the art, such as from the values of W(Ri, Rj) listed in Table 5 in Piero Fariselli and Rita Casadio, “Prediction of disulphide Connectivity to proteins”, BioInformatics, Vol 17 No. 10, Oxford University Press (2001), a portion of which is depicted in FIG. 3. The Monte Carlo derived contact potential (W_(mc)) is the only factor used by Fairselli and Casadio to assign weights to graph edges.

FIG. 4 provides an illustrative example for the sequence of amino acid residues FATCAPFGLCFK wherein I₁=3 and I₂=9, in accordance with embodiments of the present invention. Ri and Rj of Equation (3) denote cysteines associated with the residues “F”, “A”, “T”, . . . of FATCAPFGLCFK. Given two residues on each side of I₁ and I₂ (i.e., the window size is 5), the windows for of I₁ and I₂ are ATCAP and GLFCK, respectively. Thus, W_(mc) in Equation (5) is the sum of the following contact potentials: A-G (i.e., between A and G), A−L, A-C, A-F, A-K; T-G, T-L, T-C, T-F, T-K; C-G, C-L, C-C, C-F, C-K; A-G, A-L, A-C, A-F, A-K; P-G, P-L, P-C, P-F, P-K. These contact potential are the circled numbers in FIG. 3. For example, A−G=1.111, A−L=1.244, and C−F=0.619.

While the window size of 5 was used in the preceding example, the window size Z is variable; e.g. the window size Z is an odd positive integer of at least 3 (e.g., 3, 5, 7, 9, etc.). Generally, for a window size Z₁ and Z₂ with respect to the sequence indexes I₁ and I₂, there are (Z₁−1)/2 and (Z₂−1)/2 indexes on each side of the sequence indexes I₁ and I₂, respectively, wherein Z₁ and Z₂ are each an odd positive integer. The scope of the present invention includes embodiments in which Z₁=Z₂, as well as embodiments in which Z₁ and Z₂ are unequal.

B. Weights Decreasing with Increasing Separation Between Cysteines (W_(d)).

The following normal distribution with mean of zero and standard deviation (σ) illustrates an exponentially decreasing function W_(d) that may be is used to assign the weights. $\begin{matrix} {{W_{d} = {\frac{1}{\sigma\sqrt{2\pi}}{\mathbb{e}}^{- {({{d^{2}/2}\quad\sigma^{2}})}}}}{d = \frac{{I_{1} - I_{2}}}{100}}} & (4) \end{matrix}$ wherein I₁ and I₂ are the position indexes in the chain of the two cysteines, and d is a separation between I₁ and I₂ such that d=|I₁−I₂|/100. The standard deviation (σ) may be empirically determined. A representative value for σ is 0.75, and a representative range for σ is 0.50 to 0.90. Having the weights decrease with increasing separation between cysteines is based on the idea that disulphide bonding energy in proteins may not be going to the global minima of energy, but may be instead getting trapped in local energy minimas.

For the example of FIG. 4, the first cysteine has index I₁=3 in the sequence and second cysteine has index I₂=9 in the sequence and using σ=0.75, then $\begin{matrix} {d = \frac{{3 - 9}}{100}} \\ {= 0.06} \\ {= 0.530} \end{matrix}$

While the preceding discussion used a normal distribution to represent W_(d) for illustrative purposes, the scope of the present invention generally defines W_(d) to be a decreasing function of d; e.g., a function proportional to: exp(−d), 1/d^(n) (n being a positive real number exceeding 1), etc.

C. Penalty for Bonds Between Cysteines which are Nearer than One to Four Residues in the Chain (Proximity Penalty).

Each amino acid residue in the protein is indexed in ascending order starting at 0, (i.e., 0, 1, 2, 3, etc.). Each index in a protein chain maps to a single amino acid residue.

The steric hindrance and excessive strain in the bonds may be preventing the proteins from folding. $\begin{matrix} {W = \left\{ \begin{matrix} {{{{I_{1} - I_{2}}} < M} = 0} \\ {{{{I_{1} - I_{2}}} \geq M} = W} \end{matrix} \right.} & (5) \end{matrix}$

I₁ and I₂ refers to indexes of sulphur atoms S₁ and S₂ of respective cysteines in the chain. If |I₁−I₂| is less than M (wherein M=1 to 4), then the weight for that particular bond is set to 0, thereby overriding W_(mc) and W_(d). For the example of FIG. 4 with M=2, I₁=3 and I₂=9, then |I₁−I₂|=|3−91=6 which is not less than 2, so that the proximity penalty is not applied. If on the other hand, I₁=3 and I₂=4 were to prevail, then |I₁−I₂|=3−4|=1 which is less than 2, so that the proximity penalty would be applied and the weight would consequently be set equal to 0.

While the preceding example recites a penalty if the bonding between cysteines is less than 2 residues apart, the invention generally imposes this penalty if the bonding between cysteines is less than M residues apart, wherein M may be selected as an integer from 1 to 4.

D. Penalty for Bonds which Cannot be Formed without Bending of Secondary Structure (Bending Penalty)

The bending penalty prevents bonding between the cysteines which require the bending of alpha helixes or beta sheets. Thus, the bending penalty is based on secondary structure constraints.

It is observed that secondary structure units such as alpha helixes and beta sheets don't bend. Mostly, the bending is in turns. Thus, proteins chain may be viewed as rigid alpha and beta structures connected by flexible turns. In this model, the criteria for two points in the chain to come together is that the longest single rigid segment between the two points should be shorter than sum of the lengths of the all other segments between the two points.

The criterion for this applying the bending penalty is given by Equation (6): $\begin{matrix} {{d_{12}^{\min} = {L_{\max} - {\sum\limits_{i \neq \max}L_{i}}}}{W = \left\{ \begin{matrix} {d_{12}^{\min} \leq 0} & {= W} \\ {d_{12}^{\min} > 0} & {= 0} \end{matrix} \right.}} & (6) \end{matrix}$ where, d₁₂ ^(min) is the minimum possible distance between indexes I₁ and I₂ without bending alpha helixes or beta sheets, wherein I₁ and I₂ are indexes of sulphur atoms S₁ and S₂, respectively. L_(i)=the length of a rigid or flexible segment between I₁ and I₂. L_(max)=longest rigid segment between I₁ and I₂. If d₁₂ ^(min)>0, then the cysteine positions (or respective sulphur atom positions) at I₁ and I₂ will not be able to come together (i.e., touch each other) without bending of secondary structures (e.g., alpha helixes or beta sheets) at I₁ and I₂, which means that a first cysteine at I₁ and a second cysteine at I₂ cannot form a disulphide bond without bending rigid segments therebetween (i.e., the bond between respective sulphurs cannot form). Accordingly, if d₁₂ ^(min)>0, then the weight for that particular bond is set to 0, thereby overriding W_(mc) and W_(d).

As an example, assume in FIG. 2 that L₁=2, L₂=1, L₃=L_(max)=8, L₄=2, L₅=3, and L₆=1. Then the sum of the lengths excluding L_(max) is L₁+L₂+L₄+L₅+L₆=9 which is less than L_(max)=10. Therefore, d₁₂ ^(min)>0 for this example, which triggers the bending penalty and the weight for the bond between cysteine sulphurs at I₁ and I₂ is therefore set to 0.

As an alternate example, assume in FIG. 2 that L₁=2, L₂=1, L₃=L_(max)=8, L₄=2, L₅=3, and L₆=1. Then the sum of the lengths excluding L_(max) is L₁+L₂+L₄+L₅+L₆=9 which is not less than L_(max)=8. Therefore, d₁₂ ^(min)<0 for this alternate example, the weight for the bond between cysteines at I₁ and I₂ is not subject to the bending penalty.

An overall function W to assign weights to graph edges may be given by: W=aW _(mc) +bW _(d)  (7) wherein a/b is in a range of 1.0 to 1.5. For example, a=100 and b=95 (i.e., a/b=1.05), wherein the weighting factors such as a=100 and b=95 may be obtained based on empirical results. The adjacency list representation of graphs obtained by applying all these constraints serves as input to the Edmond-Gabow maximum weighted graph matching algorithm to determine the connectivity. Other formulations for determining W include: W=W_(mc)  (8) W=W_(d)  (9)

For any of the Equations (7), (8), or (9, W may be subject to the penalty of Equation (5) and/or Equation (6).

FIG. 5 is a high-level flow chart comprising steps 21-26 for determining the disulphide connectivity of proteins, in accordance with embodiments of the present invention.

Step 21 computes a Monte Carlo derived contact potential (W_(mc)), as described supra in conjunction with Equation (3).

Step 22 calculates weights decreasing with increasing separation between cysteines in the chain (W_(d)), as described supra (e.g., see Equation (4)).

Step 23 calculates a proximity penalty for bonds between cysteines which are nearer than one to four residues in the chain, as described supra in conjunction with Equation (5).

Step 24 calculates a bending penalty for bonds which cannot be formed without bending of secondary structure (e.g., alpha helixes and/or beta sheets), as described supra in conjunction with Equation (6).

Step 25 applies the proximity penalty and/or bending penalty to W as applicable, as described supra.

Step 26 determines the optimum connectivity such as by using the Edmond-Gabow (EG) maximum weighted graph matching algorithm to maximize an objective function expressed as sum of the edge weights W to form the N disulphide bonds, as described supra.

FIG. 6 depicts a process of modeling the proteins as an undirected graph for an example in which an optimum connectivity is determined, in accordance with embodiments of the present invention. FIG. 6 depicts four sulphurs denoted as S1, S2, S3, and S4, with edge weights between the sulphurs in each pair of sulpuhrs shown to be: S1-S2 (200), S1-S3 (200), S1-S4 (400), S2-S3 (712), S2-S4 (115), and S3-S4 (309). The optimal connectivity is the pair of disulphide bonds in FIG. 6 whose sum of edge weights is a maximum, which turns out to be the S1-S4 and S2-S3 bonds whose sum of edge weights is 400+712=1112.

FIGS. 7A and 7B (collectively “FIG. 7”) is a detailed flow chart comprising steps 31-44 for determining and evaluating the disulphide connectivity of proteins, in accordance with embodiments of the present invention.

Step 31 obtains the sequence information, disulphide bond information, and secondary structure information, places this information in a protein file, and opens this protein file for subsequent reading. This information serves as input for performing the connectivity determinations.

Step 32 parses the protein file of step 31 and loads the sequence, secondary structure, and disulphide bond information into appropriate data structures.

Step 33 calculates the minimum distance d₁₂ ^(min) between each each pair of cysteines without bending of secondary structure (e.g., alpha helixes and/or beta sheets), in accordance with Equation (6) using the secondary structure information. The calculated minimum distance is loaded to a hash table data structure.

Step 34 reads the Monte Carlo calculated contact potentials from a text file, by parsing the text file. The parsed Monte Carlo derived contact potential is stored in a hash table.

Step 35 computes the Monte Carlo derived contact potential (W_(mc)) for each pair of cysteines (see Equation (3)).

Step 36 calculates weights decreasing with increasing separation between cysteines in the chain (W_(d)) such as by use of Equation (4).

Step 37 forms the edge weights W such as by constructing a linearly weighted combination of W_(mc) and W_(d) as shown in Equation (7).

Steps 38 and 39 applies the proximity penalty and bending penalty to W, respectively, to the objective function resulting from step 37. Step 38 applies the proximity penalty to W for pairs of cysteines less than one to four residues apart, which sets the edge weight between the cysteines in the pair of cysteines equal to zero when the proximity penalty is applied. Step 39 applies the bending penalty to W for pairs of cysteines whose minimum distance exceeds zero, which sets the edge weight between the cysteines in the pair of cysteines equal to zero when the bending penalty is applied.

Step 40 writes the edge weights (W) obtained as a result of steps 37-39 into a text file in an adjacency list format to serve as input to the Edmond Gabow predicting algorithm.

Step 41 determines the optimal connectivity, such as by using the Edmond Gabow predicting algorithm.

Step 42 compares the determined optimal connectivity with the actual connectivity. The actual connectivity may be derived from the Swiss-Prot database as described supra.

Step 43 calculate Qc and Qp from Equations (1) and (2), respectively.

Step 44 repeats steps 31-43 for all protein chains having the same number of cysteines, followed by computing and displaying an average of Q_(P) and Qc.

Table 2 summarizes accuracy results of computation of disulphide connectivity by the present invention, using data from the Swiss-Prot database as described supra. The parameters EG, S, and D in Table 2 are defined as follows:

EG=simulated annealing (Monte Carlo) contact potential (W_(mc)) derived from Table 5 of Piero Fariselli and Rita Casadio, “Prediction of disulphide Connectivity to proteins”, BioInformatics, Vol 17 No. 10, Oxford University Press (2001); a portion of Table 5 of Fariselli Casadio is shown in FIG. 3.

D=constraints and weight based on separation between cysteines (proximity penalty; and W_(d)).

S=constraints based on secondary structure (bending penalty), TABLE 2 No. of S—S No. Of Bonds Chains Q_(P)(EG, S, D) Q_(P)(EG) Q_(C)(EG, S, D) Q_(C)(EG) 2 164 0.707 0.396 0.707 0.396 3 173 0.355 0.323 0.229 0.172 4 88 0.296 0.205 0.125 0.023 5 36 0.317 0.253 0.028 0.056 6 10 0.117 0.033 0.000 0.000

Table 2 shows that the calculation of Q_(P) and Q_(C) is more accurate by the method of the present invention (Q_(P)(EG,S,D) and Q_(C)(EG,S,D)) than the Fariselli and Casadio approach (Q_(P)(EG) and Q_(C)(EG)), with the exception of Q_(C) for the case of 5 bonds and 36 chains.

FIG. 8 illustrates a computer system 90 used for determining disulphide bond connectivity in protein, in accordance with embodiments of the present invention. The computer system 90 comprises a processor 91, an input device 92 coupled to the processor 91, an output device 93 coupled to the processor 91, and memory devices 94 and 95 each coupled to the processor 91. The input device 92 may be, inter alia, a keyboard, a mouse, etc. The output device 93 may be, inter alia, a printer, a plotter, a computer screen, a magnetic tape, a removable hard disk, a floppy disk, etc. The memory devices 94 and 95 may be, inter alia, a hard disk, a floppy disk, a magnetic tape, an optical storage such as a compact disc (CD) or a digital video disc (DVD), a dynamic random access memory (DRAM), a read-only memory (ROM), etc. The memory device 95 includes a computer code 97. The computer code 97 includes an algorithm for determining disulphide bond connectivity in protein. The processor 91 executes the computer code 97. The memory device 94 includes input data 96. The input data 96 includes input required by the computer code 97. The output device 93 displays output from the computer code 97. Either or both memory devices 94 and 95 (or one or more additional memory devices not shown in FIG. 8) may be used as a computer usable medium (or a computer readable medium or a program storage device) having a computer readable program code embodied therein and/or having other data stored therein, wherein the computer readable program code comprises the computer code 97. Generally, a computer program product (or, alternatively, an article of manufacture) of the computer system 90 may comprise said computer usable medium (or said program storage device).

Thus the present invention discloses a process for deploying or integrating computing infrastructure, comprising integrating computer-readable code into the computer system 90, wherein the code in combination with the computer system 90 is capable of performing a method for determining disulphide bond connectivity in protein.

While FIG. 8 shows the computer system 90 as a particular configuration of hardware and software, any configuration of hardware and software, as would be known to a person of ordinary skill in the art, may be utilized for the purposes stated supra in conjunction with the particular computer system 90 of FIG. 8. For example, the memory devices 94 and 95 may be portions of a single memory device rather than separate memory devices.

While embodiments of the present invention have been described herein for purposes of illustration, many modifications and changes will become apparent to those skilled in the art. Accordingly, the appended claims are intended to encompass all such modifications and changes as fall within the true spirit and scope of this invention. 

1. A method for determining N disulphide bond connections in a protein comprising 2N bonded sulphur atoms, each sulphur atom of the N sulphur atoms being available for forming the N disulphide bond connections through use of an undirected graph having the 2N sulphur atoms as nodes and having an edge connecting each pair of nodes of the N nodes, each edge being a potential disulphide bond connection of the N disulphide bond connections to be determined, each sulphur atom of the 2N sulphur atoms being independently comprised by a cysteine of the protein, said cysteines being sequenced along a chain in the protein in accordance with an ordered list of position indexes 0, 1, 2, . . . , said N at least 2, said method comprising: for each edge between a first sulphur atom S₁ of a cysteine positioned at a position index I₁ of the chain and a second sulphur atom S₂ of a cysteine positioned at a position index I₂ of the chain: calculating a weight W of each edge in proportion to W_(d), said W_(d) decreasing with increasing separation d between I₁ and I₂, said d being defined as |I₁−I₂/100; and determining the N disulphide bond connections subject to optimizing an objective function formed from the calculated edge weights W.
 2. The method of claim 1, wherein W_(d) is a normal distribution of d characterized by a mean of zero and a standard deviation σ.
 3. The method of claim 2, wherein σ is in a range of 0.50 to 0.90.
 4. The method of claim 1, wherein for each edge of said edges: determining a Monte Carlo derived contact potential W_(mc) that is calculated as Σ_(i)Σ_(j)W(R_(i),R_(j)), wherein W(R_(i),R_(j)) is a Monte Carlo calculated contact potential between R_(i) and R_(j), wherein R_(i) denotes a cysteine at the position indexes i defined by a window size Z₁ with respect to the position index I₁, and wherein R_(j) denotes a cysteine at the position indexes j defined by a window size Z₂ with respect to the position index I₂, and wherein Z₁ and Z₂ are each independently an odd integer of at least 3; and calculating W=aW_(mc)+bW_(d), wherein a and b are positive real numbers subject to a/b being in a range of 1.0 to 1.5.
 5. The method of claim 4, wherein a/b is about 100/95, and wherein Z₁ and Z₂ are each independently selected from the group consisting of 3, 5, and
 7. 6. The method of claim 4, wherein W is set to zero at each edge at which at least one penalty applies, wherein the at least one penalty is selected from the group consisting of a proximity penalty, a bending penalty, and both the proximity penalty and the bending penalty, wherein the proximity penalty applies if |I₁−I₂|<M such that M is an integer from 1 to 4, and wherein the bending penalty applies if a minimum distance between S₁ and S₂ without bending of secondary structures of the protein between S₁ and S₂ is greater than zero.
 7. The method of claim 6, wherein the at least one penalty consists of the proximity penalty and the bending penalty.
 8. The method of claim 6, wherein the at least one penalty comprises the proximity penalty, and wherein M=2.
 9. The method of claim 1, wherein the objective function is a sum of the weights of the N disulphide bond connections, and wherein said optimizing comprises determining the N disulphide bond connections that maximize the objective function.
 10. A computer system comprising a processor and a computer readable memory unit coupled to the processor, said memory unit containing instructions that when executed by the processor implement a method for determining N disulphide bond connections in a protein comprising 2N bonded sulphur atoms, each sulphur atom of the N sulphur atoms being available for forming the N disulphide bond connections through use of an undirected graph having the 2N sulphur atoms as nodes and having an edge connecting each pair of nodes of the N nodes, each edge being a potential disulphide bond connection of the N disulphide bond connections to be determined, each sulphur atom of the 2N sulphur atoms being independently comprised by a cysteine of the protein, said cysteines being sequenced along a chain in the protein in accordance with an ordered list of position indexes 0, 1, 2, . . . , said N at least 2, said method comprising: for each edge between a first sulphur atom S₁ of a cysteine positioned at a position index I₁ of the chain and a second sulphur atom S₂ of a cysteine positioned at a position index I₂ of the chain: calculating a weight W of each edge in proportion to W_(d), said W_(d) decreasing with increasing separation d between I₁ and I₂, said d being defined as |I₁−I₂/100; and determining the N disulphide bond connections subject to optimizing an objective function formed from the calculated edge weights W.
 11. The computer system of claim 10, wherein W_(d) is a normal distribution of d characterized by a mean of zero and a standard deviation σ.
 12. The computer system of claim 11, wherein σ is in a range of 0.50 to 0.90.
 13. The computer system of claim 10, wherein for each edge of said edges: determining a Monte Carlo derived contact potential W_(mc) that is calculated as Σ_(i)Σ_(j)W(R_(i),R_(j)), wherein W(R_(i),R_(j)) is a Monte Carlo calculated contact potential between R_(i) and R_(j), wherein R_(i) denotes a cysteine at the position indexes i defined by a window size Z₁ with respect to the position index I₁, and wherein R_(j) denotes a cysteine at the position indexes j defined by a window size Z₂ with respect to the position index I₂, and wherein Z₁ and Z₂ are each independently an odd integer of at least 3; and calculating W=aW_(mc)+bW_(d), wherein a and b are positive real numbers subject to a/b being in a range of 1.0 to 1.5.
 14. The computer system of claim 13, wherein a/b is about 100/95, and wherein Z₁ and Z₂ are each independently selected from the group consisting of 3, 5, and
 7. 15. The computer system of claim 13, wherein W is set to zero at each edge at which at least one penalty applies, wherein the at least one penalty is selected from the group consisting of a proximity penalty, a bending penalty, and both the proximity penalty and the bending penalty, wherein the proximity penalty applies if |I₁−I₂|<M such that M is an integer from 1 to 4, and wherein the bending penalty applies if a minimum distance between S₁ and S₂ without bending of secondary structures of the protein between S₁ and S₂ is greater than zero.
 16. The computer system of claim 15, wherein the at least one penalty consists of the proximity penalty and the bending penalty.
 17. The computer system of claim 15, wherein the at least one penalty comprises the proximity penalty, and wherein M=2.
 18. The computer system of claim 10, wherein the objective function is a sum of the weights of the N disulphide bond connections, and wherein said optimizing comprises determining the N disulphide bond connections that maximize the objective function.
 19. A computer program product, comprising a computer usable medium having a computer readable program code embodied therein, said computer readable program code comprising an algorithm adapted to implement a method for determining N disulphide bond connections in a protein comprising 2N bonded sulphur atoms, each sulphur atom of the N sulphur atoms being available for forming the N disulphide bond connections through use of an undirected graph having the 2N sulphur atoms as nodes and having an edge connecting each pair of nodes of the N nodes, each edge being a potential disulphide bond connection of the N disulphide bond connections to be determined, each sulphur atom of the 2N sulphur atoms being independently comprised by a cysteine of the protein, said cysteines being sequenced along a chain in the protein in accordance with an ordered list of position indexes 0, 1, 2, . . . , said N at least 2, said method comprising: for each edge between a first sulphur atom S₁ of a cysteine positioned at a position index I₁ of the chain and a second sulphur atom S₂ of a cysteine positioned at a position index I₂ of the chain: calculating a weight W of each edge in proportion to W_(d), said W_(d) decreasing with increasing separation d between I₁ and I₂, said d being defined as |I₁−I₂|/100; and determining the N disulphide bond connections subject to optimizing an objective function formed from the calculated edge weights W.
 20. The computer program product of claim 19, wherein W_(d) is a normal distribution of d characterized by a mean of zero and a standard deviation σ.
 21. The computer program product of claim 20, wherein σ is in a range of 0.50 to 0.90.
 22. The computer program product of claim 19, wherein for each edge of said edges: determining a Monte Carlo derived contact potential W_(mc) that is calculated as Σ_(i)Σ_(j)W(R_(i),R_(j)), wherein W(R_(i),R_(j)) is a Monte Carlo calculated contact potential between R_(i) and R_(j), wherein R_(i) denotes a cysteine at the position indexes i defined by a window size Z₁ with respect to the position index I₁, and wherein R_(j) denotes a cysteine at the position indexes j defined by a window size Z₂ with respect to the position index I₂, and wherein Z₁ and Z₂ are each independently an odd integer of at least 3; and calculating W=aW_(mc)+bW_(d), wherein a and b are positive real numbers subject to a/b being in a range of 1.0 to 1.5.
 23. The computer program product of claim 22, wherein a/b is about 100/95, and wherein Z₁ and Z₂ are each independently selected from the group consisting of 3, 5, and
 7. 24. The computer program product of claim 22, wherein W is set to zero at each edge at which at least one penalty applies, wherein the at least one penalty is selected from the group consisting of a proximity penalty, a bending penalty, and both the proximity penalty and the bending penalty, wherein the proximity penalty applies if |I₁−I₂|<M such that M is an integer from 1 to 4, and wherein the bending penalty applies if a minimum distance between S₁ and S₂ without bending of secondary structures of the protein between S₁ and S₂ is greater than zero.
 25. The computer program product of claim 24, wherein the at least one penalty consists of the proximity penalty and the bending penalty.
 26. The computer program product of claim 24, wherein the at least one penalty comprises the proximity penalty, and wherein M=2.
 27. The computer program product of claim 19, wherein the objective function is a sum of the weights of the N disulphide bond connections, and wherein said optimizing comprises determining the N disulphide bond connections that maximize the objective function.
 28. A process for integrating computing infrastructure, said process comprising integrating computer-readable code into a computing system, wherein the code in combination with the computing system is capable of performing a method for determining N disulphide bond connections in a protein comprising 2N bonded sulphur atoms, each sulphur atom of the N sulphur atoms being available for forming the N disulphide bond connections through use of an undirected graph having the 2N sulphur atoms as nodes and having an edge connecting each pair of nodes of the N nodes, each edge being a potential disulphide bond connection of the N disulphide bond connections to be determined, each sulphur atom of the 2N sulphur atoms being independently comprised by a cysteine of the protein, said cysteines being sequenced along a chain in the protein in accordance with an ordered list of position indexes 0, 1, 2, . . . , said N at least 2, said method comprising: for each edge between a first sulphur atom S₁ of a cysteine positioned at a position index I₁ of the chain and a second sulphur atom S₂ of a cysteine positioned at a position index I₂ of the chain: calculating a weight W of each edge in proportion to W_(d), said W_(d) decreasing with increasing separation d between I₁ and I₂, said d being defined as |I₁−I₂/100; and determining the N disulphide bond connections subject to optimizing an objective function formed from the calculated edge weights W.
 29. The method of claim 28, wherein W_(d) is a normal distribution of d characterized by a mean of zero and a standard deviation σ.
 30. The method of claim 29, wherein σ is in a range of 0.50 to 0.90.
 31. The method of claim 28, wherein for each edge of said edges: determining a Monte Carlo derived contact potential W_(mc) that is calculated as Σ_(i)Σ_(j)W(R_(i),R_(j)), wherein W(R_(i),R_(j)) is a Monte Carlo calculated contact potential between R_(i) and R_(j), wherein R_(i) denotes a cysteine at the position indexes i defined by a window size Z₁ with respect to the position index I₁, and wherein R_(j) denotes a cysteine at the position indexes j defined by a window size Z₂ with respect to the position index I₂, and wherein Z₁ and Z₂ are each independently an odd integer of at least 3; and calculating W=aW_(mc)+bW_(d), wherein a and b are positive real numbers subject to a/b being in a range of 1.0 to 1.5.
 32. The method of claim 31, wherein W is set to zero at each edge at which at least one penalty applies, wherein the at least one penalty is selected from the group consisting of a proximity penalty, a bending penalty, and both the proximity penalty and the bending penalty, wherein the proximity penalty applies if |I₁−I₂|<M such that M is an integer from 1 to 4, and wherein the bending penalty applies if a minimum distance between S₁ and S₂ without bending of secondary structures of the protein between S₁ and S₂ is greater than zero.
 33. The method of claim 32, wherein the at least one penalty consists of the proximity penalty and the bending penalty.
 34. The method of claim 32, wherein the at least one penalty comprises the proximity penalty, and wherein M=2.
 35. The method of claim 28, wherein the objective function is a sum of the weights of the N disulphide bond connections, and wherein said optimizing comprises determining the N disulphide bond connections that maximize the objective function. 